import java.util.Date;
import java.util.LinkedList;

public class Alumno {
	LinkedList<TrabajoPractico> entregas;
	private String nombre;
	private Integer legajo;
	private String direccionDeMail;
	
	public LinkedList<TrabajoPractico> getEntregas() {
		return entregas;
	}

	public void setEntregas(LinkedList<TrabajoPractico> entregas) {
		this.entregas = entregas;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public Integer getLegajo() {
		return legajo;
	}

	public void setLegajo(Integer legajo) {
		this.legajo = legajo;
	}

	public String getDireccionDeMail() {
		return direccionDeMail;
	}

	public void setDireccionDeMail(String direccionDeMail) {
		this.direccionDeMail = direccionDeMail;
	}

	public Alumno(LinkedList<TrabajoPractico> entregas, String nombre,
			Integer legajo, String direccionDeMail) {
		super();
		this.setEntregas(entregas);
		this.setNombre(nombre);
		this.setLegajo(legajo);
		this.setDireccionDeMail(direccionDeMail);
	}

	public Float promedio(){
		float prom= 0f;
		int cont=0;
		int accum=0;
		for(TrabajoPractico each:this.entregas){
			accum+=each.getNota();
			cont++;
		}
		prom =accum / cont;
		return prom;
	}
	
	@SuppressWarnings("unchecked")
	public Integer notaDeTema(String tema){
		Integer i=0;
		for(TrabajoPractico tp:this.entregas){
			if(tp.TieneNotaDeTema(tema))
			i=tp.getNota();
		}
		return i;
	}
	public void RegistrarEntrega(Date fechaEntrega,Date fechaInicio,String nombre,LinkedList<String> temas,Integer nota){
		TrabajoPractico p;
		if (nota>10||nota<0){
			System.out.println("Nota Incorrecta, vuelva a ingresar la nota para este trabajo");
			p= new TrabajoPractico(fechaEntrega,fechaInicio,nombre,temas,0);
		}
		else{
			p = new TrabajoPractico(fechaEntrega,fechaInicio,nombre,temas,nota);
		}
		this.getEntregas().add(p);
	}
}
